package com.huahua.api.service;

import com.huahua.api.entity.param.CharacterDiffRequest;
import com.huahua.api.entity.param.LineDiffRequest;
import com.huahua.api.entity.vo.CharacterDiffResponse;
import com.huahua.api.entity.vo.LineDiffResponse;
import reactor.core.publisher.Mono;

/**
 * 文本差异对比服务接口
 *
 * @author Huahua-Ai
 * @date 2025-07-16 11:30:00
 * @description 提供文本差异对比功能，支持行模式和字符模式对比
 */
public interface TextDiffService {

    /**
     * 行模式文本对比
     *
     * @param request 行对比请求参数，包含两段待对比的文本
     * @return 包含对比结果的响应对象，包括变更列表、统计摘要和内容数组
     */
    Mono<LineDiffResponse> diffByLine(LineDiffRequest request);

    /**
     * 字符模式文本对比
     *
     * @param request 字符对比请求参数，包含两段待对比的文本
     * @return 包含字符级别对比结果的响应对象，包括变更列表、统计摘要和内容数组
     */
    Mono<CharacterDiffResponse> diffByCharacter(CharacterDiffRequest request);
}
